package net.lzzy.practices.service;

import net.lzzy.practices.entities.Applicant;
import net.lzzy.practices.entities.Course;

import java.util.List;
import java.util.UUID;

/**
 * @author 渊何
 */
public interface ApplicantService {
    Applicant apply(UUID studentId, UUID courseId, String token);
    List<Applicant> getEnrolledApplicants(UUID studentId);
    List<Applicant> getApplyingApplicants(UUID studentId);
    List<Applicant> getDeclinedApplicants(UUID studentId);

    Applicant approve(UUID applicantId, String token);
    Applicant decline(UUID applicantId, String token);
    List<Applicant> getEnrolledStudents(UUID courseId);
    List<Applicant> getApplyingStudents(UUID courseId);
    List<Applicant> getDeclinedStudents(UUID courseId);
    Course removeStudent(UUID courseId, UUID studentId, String token);
}
